Normalization Task

Un-Normalized Table

The original data contains repeating groups, with each student potentially taking multiple courses but student info is only listed once per group:

Student NumberStudent NameExam ScoreSupportDate of Birth Course NameExam BoardTeacher Name
1001Bob Baker78No2001-08-25Computer ScienceBCSMr Jones
MathsEdExcelMs Parker
PhysicsOCRMr Peters
1002Sally Davies55Yes1999-10-02MathsAQAMs Parker
BiologyWJECMrs Patel
MusicAQAMs Daniels
1003Mark Hanmill90No1995-06-05Computer ScienceBCSMr Jones
MathsEdExcelMs Parker
PhysicsOCRMr Peters
1004Anas Ali70No1980-08-03MathsAQAMs Parker

First Normal Form (1NF)

We fill in student data for every course row.

Student NumberStudent NameExam ScoreSupportDate of Birth Course NameExam BoardTeacher Name
1001Bob Baker78No2001-08-25Computer ScienceBCSMr Jones
1001Bob Baker78No2001-08-25MathsEdExcelMs Parker
1001Bob Baker78No2001-08-25PhysicsOCRMr Peters
1002Sally Davies55Yes1999-10-02MathsAQAMs Parker
1002Sally Davies55Yes1999-10-02BiologyWJECMrs Patel
1002Sally Davies55Yes1999-10-02MusicAQAMs Daniels
1003Mark Hanmill90No1995-06-05Computer ScienceBCSMr Jones
1003Mark Hanmill90No1995-06-05MathsEdExcelMs Parker
1003Mark Hanmill90No1995-06-05PhysicsOCRMr Peters
1004Anas Ali70No1980-08-03MathsAQAMs Parker

Second Normal Form (2NF)

We split into three tables: Students, Courses, and Exam Results.

Students
Student NumberStudent NameDate of BirthSupport
1001Bob Baker2001-08-25No
1002Sally Davies1999-10-02Yes
1003Mark Hanmill1995-06-05No
1004Anas Ali1980-08-03No

Courses
Course NameExam BoardTeacher Name
Computer ScienceBCSMr Jones
MathsEdExcelMs Parker
PhysicsOCRMr Peters
BiologyWJECMrs Patel
MusicAQAMs Daniels

Exam Results
Student NumberCourse NameExam Score
1001Computer Science78
1001Maths78
1001Physics78
1002Maths55
1002Biology55
1002Music55
1003Computer Science90
1003Maths90
1003Physics90
1004Maths70

Third Normal Form (3NF)

No further changes are required as the structure now ensures every non-key field is dependent only on the key, the whole key, and nothing but the key.

Final 3NF Tables:

Students
Student NumberStudent NameDate of BirthSupport
1001Bob Baker2001-08-25No
1002Sally Davies1999-10-02Yes
1003Mark Hanmill1995-06-05No
1004Anas Ali1980-08-03No

Courses
Course NameExam BoardTeacher Name
Computer ScienceBCSMr Jones
MathsEdExcelMs Parker
PhysicsOCRMr Peters
BiologyWJECMrs Patel
MusicAQAMs Daniels

Exam Results
Student NumberCourse NameExam Score
1001Computer Science78
1001Maths78
1001Physics78
1002Maths55
1002Biology55
1002Music55
1003Computer Science90
1003Maths90
1003Physics90
1004Maths70